home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
ACORNUSERS
/
EMULATOR
/
MESS
/
RISCOS.txt
< prev
next >
Wrap
Text File
|
1998-08-17
|
17KB
|
459 lines
M.E.S.S. - Multi-Emulator Super System
Copyright (C) 1998 by the MESS team
ARM/RISC OS version 0.02b4, ported by Gareth S. Long
Last updated: (18 Aug 1998)
** PLEASE READ THE CHANGELOG AT THE BOTTOM OF THIS FILE FOR IMPORTANT
UPGRADE INFORMATION, ESPECIALLY IF YOU ARE NOTICING DIFFERENCES BETWEEN
THE CURRENT MAME AND YOUR LAST VERSION **
** PLEASE ALSO READ THE ACCOMPANYING README.TXT AND WHATSNEW.TXT RELATING
TO MAME, ESPECIALLY THE BITS AT THE TOP IN CAPITAL LETTERS, IN MUCH THE
SAME WAY AS YOU ARE READING THIS NOW **
AND READ THEM EVERY TIME THIS FILE IS UPDATED.
*** PLEASE, PLEASE, PLEASE MAKE SURE YOU ACTUALLY DID THE ABOVE ***
... I'LL BE ABLE TO TELL...
One more note: People doing magazine articles and things; please let me know
in advance! Publishers lead times mean you're probably writing a retro retro
into the world of retro gaming by the magazine hits the subscribers even. I
can give accurate information on events to coincide correctly with
publication dates.
What is it?
===========
MESS is a multiple console/computer system emulator. It is largely a
derivitave of the MAME project, but geared away from 'only' arcade machine
emulation. In many ways, technically, there are similarities, but there are
enough differences to warrant a different style of project to handle some of
the different characteristics, such as keyboards, floppy drives, serial
ports, and the like.
MESS serves a a documentation project, like MAME, though one of the
fundamental differences between MAME and MESS is the relative complexity of
the drivers - under MAME< one driver typically runs one specific arcade
machine type, MESS system drivers are responsible for running literally
thousands of game/computer images in themselves, and evolve more slowly.
MAME works on the principle of multiple drivers for specific arcade machines,
'MAME pacman' runs pacman, for example. MESS works with 'system drivers',
which emulate a complete console/computer system. Ruynning a system on it's
own is not often very exiting - ifyou're lucky, you'll end up at the startup
prompt on a computer system, or in the case of a console, you get little or
nothing - as you're 'emulating' turning a machine on without it's cartridge
ROMs.
In order to get the emulation to do something interesting, you'll need some
Images for the system you're trying to use - in the case of the Genesis
driver, your images are Genesis ROM images. In the case of the TRS80 driver,
your images are TRS80 floppy disc images, and so on.
For most computers and some consoles, you'll need to get hold of a copy of
the BIOS ROM(s). Not having ehse us like trying to turen the original machine
on, with the BIOS ROMs removed.
What do I need?
===============
Best results are obtained with a StrongARM based Risc PC. Sorry, but versions
of MESS for other machines are only really usable on a midrange pentiums or similarly
specced machine, or above for some systems. Having said that, ARM 710 users
shouldn't have much of a problem with some of the simpler systems. I am committed to making
MAME more usable on lower-ended machines. Honestly:
MESS will work on older machines, but the palette will be completely wrong at
the moment for reasons I will describe below. Expect this to change soon,
however.
Systems, Images, getting Images
===============================
The 'Images' has a different meaning depending on which system in MESS you
are dealing with. Either way, these are fairly widely available via the
internet. In order to use the images legally, you should own the image on
it's original media, and you shouldn't just go picking them up via sites like
http://www.davesclassics.com or just doing a web search... so I'm sure you
won't - though it's worth checking to see if the images have been released
into the public domain. Additionally, lots of 'home brew' titles are
available for some of the systems supported under MESS.
Organising MESS
===============
This will change a great deal as frontends for MESS are developed and put
into play, and als0o as MAME itself evolves..
Create a directory called MESS somewhere on your hard disc. I *strongly*
recommend that this directory be an image filing system archive (zipfile or
TBAFS archive will do nicely, as will a DOSFS partition.. public domain
utilities like X files etc also work well. You can even use StrongHelp to
archive the files inside a new StrongHelp manual). This allows you to use
more than 77 filenames in a directory, and also allows you to use filenames
greater than 10 characters, which some games need)
Unpack the contents of the MESS archive into it.
Create two blank directories, called 'CFG' and 'HI', alongside the ESS
executable.
Unpack any images you have downloaded into directory names which match the
game name (like 'sonic/smd','elite/nes' etc). These should be in the 'Images' subdirectory within
your MESS directory. Your resulting directory structure should look thus
(names in square brackets are directory names):
[MESS] (image filing system archive)
\
\
MAME (executable) DACSptX EmUtils [Images] [CFG] [HI] [... etc]
|
|----------|
| | |
sonic/smd elite/nes ...
sonic3/smd mario/nes ...
ewormjim/smd sonic/sms ...
... ... ...
To run MESS, set your current directory to that of the MAME image filing
system ardchive (double clicking on the provided SetDir obeyfile will do this
for you).
Usage
-----
MESS system [image names] [options]
for example
MESS nes zelda/nes
will run Zelda on the Nintendo
MESS coleco dkong/rom -nosound
will run Donkey Kong on the Colecovision without sound
MESS trs80 boot/dsk arcade1.dsk
will run the TRS80 with two disks loaded
MESS cgenie games1/dsk
will run the Colour Genie with one disk iamge loaded
MESS kaypro k1
will run the Kaypro 2x using a set of images defined
by an alias 'k1' (see below).
options:
-resolution XxY (default: autoselect)
X and Y are width and height (ex: '-800x600')
MESS goes some lengths to autoselect a good resolution.
You can override MESS's choice with this option.
You can use -XxY (e.g. -800x600) as a shortcut. Frontend
authors are advised to use -resolution XxY, however.
If you get an error 'XxY not supported', you probably
need Scitech's Display Doctor, which provides the 'de facto'
standard VESA implementaion (http://www.scitechsoft.com)
Some common resolutions are 320x200, 320x240, 400x300,
512x384, 640x400, 640x480, 800x600 and 1024x768.
-skiplines N
since many games use a screen taller than 240 lines,
they won't fit in the screen. The parameter 'N' sets
the initial number of lines to skip at the top of
the screen. You can adjust the position while the game
is running using the PGUP and PGDN keys.
-skipcolumns N
same as above but moves the screen horizontally. This is rarely
used since the screen usually fits in the screen. To adjust the
position at run time, use SHIFT + PGUP/PGDN.
-double / -nodouble (default: auto)
use nodouble to disable pixel doubling (faster,
but smaller picture). Use double to force pixel doubling when
the image doesn't fit in the screen (you'll have to use PGUP and
PGDN to scroll).
-depth n (default: 8)
Some games might need 65k color modes to get accurate graphics.
You might want to use -depth 16 for that case.
-h n
Use hz to force a specific framerate when attempting to set a RISC
OS mode, -1 means 'any framerate will do'. If the RISC OS port of
MESS cannot find a set framerate for a given resolution, it will
search for another resolution.
-vsync / -novsync (default: -novsync)
syncronize video display with the video beam instead of using
the timer. This option can only be used if the selected video
mode has an appropriate refresh rate; MESS will otherwise refuse
to start, telling you the actual refresh rate of the video mode,
and the rate it should have.
If you are using a tweaked mode, MESS will try to automatically
pick the correct setting for refresg frequency; you can still override it
using the -hz option.
-sr n
set the audio sample rate. The default is 22050. Smaller values
(e.g. 11025) will cause lower audio quality but faster emulation
speed. Higher values (e.g. 44100) will cause higher audio quality
but slower emulation speed.
-sb n
set the audio sample bits, either 8 or 16. The default is 8.
16 will increase quality with certain games, but decrease speed.
This is a software setting, not hardware. The sound card will
always be used in 16 bit mode, if possible.
-fm / -nofm (default: -nofm)
use the SoundBlaster OPL chip for music emulation
in some games. Under RISC OS, this will disable FM as a SoundBlaster OPL
chip is not available to anything less than a Phoebe/Smelly Cat 2100.
-log
create a log of machine startup information, illegal memory
accesses and other details in ERROR/LOG
The amount of output depends on verbosity defined in the
drivers and is set relatively low for the release version.
-help, -?
display current mess version and copyright notice
-list
display a list of currently supported games
-listfull
display a list of game directory names + description
-listdetails
display a detailed list of drivers and the hardware they use
-mouse / -nomouse (default: -mouse)
enable/disable mouse support
-frameskip n
skip frames to speed up the emulation. For example, if the game
normally runs at 60 fps, "-frameskip 1" will make it run at 30
fps, and "-frameskip 2" at 20 fps. Use F11 to check the speed
your computer is actually reaching. If the game is too slow,
increase the frameskip value. Note that this setting can also
affect audio quality (some games sound better, others sound
worse). Maximum value for frameskip is 3.
-cheat
The cheat system is disabled by default. Use this switch to
turn it on. Read cheat.doc for more information on how to
use the cheat system.
-debug
Activate the integrated debugger. During the emulation, press
tilde to enter the debugger.
-record name
Record joystick input on file INP/name.inp.
-playback name
Playback joystick input from file INP/name.inp.
-ignorecfg
ignore mess.cfg and start with the default settings
The following keys work in all emulators:
Tab
Enter configuration menu. Press Tab or Esc to get back to the
emulation.
ScrollLock
Pause
F5
Show the game graphics. Use cursor keys to change set/color,
F5 or Esc to return to the emulation.
F7
Calibrate the joystick
F8
Change frame skip on the fly (60, 30, 20, or 15)
F9
Reset the emulation
F10
Toggle speed throttling
F11
Toggle speed display
F12
Save a screen snapshot. This is currently undefined whilst we work
on a uniform method of saving (and it'll probably be PNG).
numpad +/-
Volume adjust
Left shift and numpad +/-
Gamma correction adjust
Shift-F12
Exit emulator
Format of the configuration file mess.cfg:
This file defines general (and optionally driver specific) settings
for various aspects of the emulation.
It contains sections, ie. names enclosed in square brackets like
[config], [directory] or [drivername]. These sections contain one or
more lines of the form 'variable = value'. The value can be either
text or numeric, depending on the option. Boolean options accept
'yes', 'no'. Some options accept 'auto' to let MESS decide what to choose.
The following settings are recognized in the [config] section:
scanlines = yes|no same as -scanlines / -noscanlines command line options
double = auto|yes|no same as -double / -nodouble command line options
vsync = yes|no same as -vsync / -novsync command line options
syncedtweak = yes
vesa = no same as -vesa / -novesa command line options
ntsc = no 'yes' is the same as -ntsc command line option
vgafreq = 0 same as -vgafreq n command line option
depth = 8|16 same as -depth n command line option
skiplines = 0 same as -skiplines n command line option
skipcolumns = 0 same as -skipcolumns n command line option
gamma = G set gamma correction G = 0.5 - 2.0
frameskip = 0|1|2|3 set default frame skip value
soundcard = n select a soundcard (-1 always ask, 0 none, 1 - 7 set)
oplfm = yes|no use soundblaster OPL chip (same as -fm / -nofm options)
samplerate = n same as -samplerate n (or -sr n) command line option
samplebits = n same as -samplebits n (or -sb n) command line option
mouse = yes|no same as -mouse / -nomouse command line options
joytype = n select a joystick (-1 none, 0 - 5 select )
cheat = yes|no 'yes' is the same as -cheat command line option
debug = yes|no only for developers (same as -debug option)
resolution = auto|XxY select a resolution (automatic or fixed X by Y pixels)
It is possible to override this global settings for every driver in it's
own section. If you want eg. the Vectrex driver to use a 1024x768 resolution,
a gamma correction of 1.5 and no sound you would add a section:
[vectrex]
resolution = 1024x768
gamma = 1.5
soundcard = 0
Another option for the driver specific sections is 'aliases'. It allows you
to specify a set of ROMs or disk images with a short name, eg.:
[trs80]
arcade = boot.dsk arcade1.dsk arcade2.dsk arcade3.dsk
Now you can call 'mess trs80 arcade' and have all four disks inserted.
Miscallanea
===========
Unless you specify otherwise, MESS will attempt to pick the correct display
resolution for you given your monitor type, and choose the next nearest if
that fails. Most games require 224x288. holding down CONTROL during startup
will allow you to see some of the diagnostic messages giving information on
what mode MESS found suitable.
On a Risc PC, you can define your own modes using !MakeModes to make the best
use of your monitor.
The best method of setting up perfect modes for MAME are as follows:
1) Get a copy of something like !MakeModes, !CustomVDU or whatever, from any
good Acorn-related FTP site (!MakeModes is available from ftp.acorn.co.uk).
2) Define a mode of either the exact size you need (eg 224x288) or one with
*twice* the Y resolution so that you can use -double (and -scanlines if you
like) - modes defined this way are likely to have a lower refresh rate and
might perform a little better.
It doesn't take an experienced modesman to define up a mode that'll work fine
with your monitor type - just fiddle with a resolution reasonably close to
what you're aiming for. Pass your examples of professional modesmanship to me
and I'll include them with the distribution, I shall provide some
ready-made monitor definition files I've defined for common monitortypes
soon.
History
=======
A list of doings that have been transpiring, from the beginning:
[Undated]
Pre-MESS release development by mysel and the rest of the MESS team.
[03 Jun 1998] (MESS 0.01)
First release of MESS, for any platform.. This file is extremely prelininary,
as I have to update both my MAME and MESS documents to achieve some level of
synchronicity. This, in addition to the latest RISC OS MAME readme, should
give you some idea as what to do. Any problems, contact me:
gatch@elecslns.demon.co.uk
Note that the keyboard system is undergoing a lot of revision at the moment,
due to it having to handle computers!
[17-Aug-98] (MESS 0.02 beta 4)
Various enhancements and bugfixes. Keyboard support should be a lot better,
also note changes in the default key mappings for some functions, notably
exitting the emulator!
[18-Aug-98]
Various documentation changes.
There are now 10 levels of frameskip available (0-9).
Frameskip value is shown within the speed indicator.
Please note that as beta 4 was made available, I was halfway through writing
a new Genesis renderer which makes use opf tricks to improve speed. However,
the FM support added in this version slows to Genesis driver to a completely
unusable rate on ARM systems due to the extensive double precision floating
point usage - I need to incorporate a fixed point library for this.
Sega Master system emulation is flaky to say the least in this beta.
wd179x floppy controller emulation is not present in this release of ARM MESS
- I'm not releasing it until I'm certain it isn't likely to screw up anyone's
floppy discs...
The next release is likely to coincide with the optimisation drive throughout
the core to benefit performance on ARM-based systems. This should hopefully
significantly improve speed. Recently, floating point activity has increased
within the project to the detrement of ARM-based systems, I will try to
reduce the effects of this as far as I can.